1. Field of the Invention
The present invention relates to automatic service composition technology and, more particularly, to a method and system for automatic service composition using AI (artificial intelligence) planning technology, which is used in a network environment.
2. Description of the Related Art
With developments in Internet technology, web services are becoming more and more popular. Many different standard protocols for web services have been developed, such as simple object access protocol (SOAP) for communications, web services description language (WSDL) for descriptions, and universal description discovery and integration (UDDI) tools for searching and integration. All of these protocols are based on the extensible markup language (XML).
In the predictable future, e-commerce activities on the Internet will be increasingly complicated. One transaction may involve several different services provided by different companies. For example, a user wants to use a web service to organize a trip, which may involve a flight ticket booking service from an airline company, a train ticket booking service from the railroad company, a reservation service from a hotel, etc. The user must use a local computer to connect to a remote website that provides these types of web services. However, the remote website still processes the order by human, which may result in mistakes, such as faulty ordering of the tickets, or incorrect reservation data. Therefore, many businesses use software to improve business process management to achieve an automated network environment.
The common automated network environment includes automatic service composition functionality and automatic service execution functionality. For automatic service composition, when the user inputs a request, the system automatically searches for the proper services and composes a service flow that satisfies the request. For automatic service execution, the system automatically executes the steps defined in the service flow.
FIG. 1 is a functional block diagram of a prior art web service execution as executed in an e-commerce environment. When a programmer P receives a service request R1, he or she uses a process design tool 11, such as a graphical user interface (GUI) tool, to create a process flowchart according to the service request R1 and to translate the process flowchart into an XML document X1, and a process execution engine 12 executes a plurality of related actions according to the XML document X1 and calls different web services S11, S12, and S13. However, the method mentioned above only uses the GUI tool or a simple data type searching mechanism to help the programmer to manually perform service request processing composition. Therefore, the programmer still needs to understand and search the different specifications for the different web services to compose the process satisfying different service requests. Furthermore, the processes are defined according to different requests, so the processes are incapable of adapting to different service request, and thus lack of flexibility and robustness.
FIG. 2 is a functional block diagram of a prior art of web service composition provided by the research academy. A composition engine 21 automatically generates an XML document X2 for a process according to a service request R2, then sends the process to a process execution engine 22 for execution and invoke web services S21, S22, and S23. The composition engine 21 utilizes AI (artificial intelligence) planning technology, and employs the DAML-S language for semantic web services to enhance the description abilities of the different service specifications, such as preconditions and effects used for defining the service.
However, the AI planning technology has a “new object problem”: all related objects in the process need to be declared in advance; the executed actions are used for changing the object's status, not for generating new objects (i.e., objects that were not declared in advance). In a network environment, new objects are generated all the time. For example, when the user inputs a request that travels from point A to point B, a station object C for A and a station object D for B may be generated, which are not declared in advance. So the AI planning technology cannot produce a correct flow of services. Therefore, the prior art of web service composition can not apply to a real web service environment.
Therefore, it is desirable to provide a method and system for automatic service composition to mitigate and/or obviate the aforementioned problems.